///*
// * To change this template, choose Tools | Templates
// * and open the template in the editor.
// */
//package Model;
//
//import Entity.Sidang;
//import Entity.TA;
//import Entity.User;
//import java.sql.Connection;
//import java.sql.PreparedStatement;
//import java.sql.ResultSet;
//import java.sql.SQLException;
//import java.util.ArrayList;
//import java.util.List;
//import library.Koneksi;
//
///**
// *
// * @author mr2
// */
//public class PendaftaranSidangTAModel {
//    
//    Connection koneksi;
//    User user;
//    Sidang sidang;
//    TA ta;
//    
//    public PendaftaranSidangTAModel(){
//        koneksi = Koneksi.getKoneksi();
//    }
//    
//    //Model insert pendaftaran sidang Proposal
//    public void DaftarSidangProposal(TA ta){
//        
//        PreparedStatement prepare = null;
//        try{
//            String sql = "INSERT INTO ta_proposal (id_ta) values(?)";
//            
//            prepare = koneksi.prepareStatement(sql);
//            
//            prepare.setInt(1, ta.getIdTA());
//            
//            prepare.executeUpdate();
//            
//        }catch(SQLException ex){
//            System.out.println(ex.getMessage());
//        }finally{
//            if(prepare != null){
//                try{
//                    prepare.close();
//                }catch(SQLException ex){
//                    System.out.println(ex.getMessage());
//                }
//            }
//        }      
//    }
//    
//    //Model mendaftar sidang progress
//    public void DaftarSidangProgress(TA ta){
//        PreparedStatement prepare = null;
//        try{            
//            
//            String sql = "INSERT INTO ta_progress (id_ta) values(?)";
//            
//            prepare = koneksi.prepareStatement(sql);
//            
//            prepare.setInt(1, ta.getIdTA());
//            
//            prepare.executeUpdate();
//            
//        }catch(SQLException ex){
//            System.out.println(ex.getMessage());
//        }finally{
//            if(prepare != null){
//                try{
//                    prepare.close();
//                }catch(SQLException ex){
//                    
//                }
//            }
//        }
//    }
//    
//    
//    public void DaftarSidangFinal(TA ta){
//        PreparedStatement prepare = null;
//        try{            
//            
//            String sql = "INSERT INTO ta_final (id_ta) values(?)";
//            
//            prepare = koneksi.prepareStatement(sql);
//            
//            prepare.setInt(1, ta.getIdTA());
//            
//            prepare.executeUpdate();
//            
//        }catch(SQLException ex){
//            System.out.println(ex.getMessage());
//        }finally{
//            if(prepare != null){
//                try{
//                    prepare.close();
//                }catch(SQLException ex){
//                    
//                }
//            }
//        }
//    }
//    
//    //Model menampilkan daftar pendaftar sidang pada akun koorTA
//    public List<Sidang> ListPendaftarSidang(String jenisSidang){
//        
//        PreparedStatement prepare = null;
//        ResultSet result = null;
//        
//        List<Sidang> listPendaftar = new ArrayList<Sidang>();
//        String sql = null;
//        
//        
//            if("SIDANG PROPOSAL".equals(jenisSidang)){
//                
//                try{
//                    
//                    sql = "SELECT id_proposal, ta_proposal.id_ta, ta.id_user, ta.nama_lab, status_daftar_proposal "
//                    + "FROM ta_proposal, ta "
//                    + "WHERE ta.id_ta = ta_proposal.id_ta and ta.status_ta = '1' "
//                    + "AND status_sidang_proposal <> 'DITERIMA' AND status_sidang_proposal <> 'SIDANG ULANG' AND status_sidang_proposal <> 'TUGAS AKHIR DIBATALKAN' ";
//                
//                    prepare = koneksi.prepareStatement(sql);
//                    result = prepare.executeQuery();
//
//                    while(result.next()){
//
//                        User user = new User();
//                        user.setIdUser(result.getString("id_user"));
//                        
//                        TA ta = new TA();
//                        ta.setUser(user);
//                        ta.setNamaLab(result.getString("nama_lab"));
//                        ta.setIdTA(result.getInt("id_ta"));
//                        
//                        Sidang sidang = new Sidang();
//                        sidang.setTa(ta);
//                        sidang.setIdSidang(result.getInt("id_proposal"));
//                        sidang.setStatusDaftarSidang(result.getString("status_daftar_proposal"));
//
//                        listPendaftar.add(sidang);
//                    }
//                    
//                    return listPendaftar;
//                    
//                }catch(SQLException ex){
//                    System.out.println(ex.getMessage());
//                    return listPendaftar;
//                }finally{
//                    if(prepare != null){
//                        try{
//                            prepare.close();
//                        }catch(SQLException ex){
//                            System.out.println(ex.getMessage());
//                        }
//                    }
//                    if(result != null){
//                        try{
//                            result.close();
//                        }catch(SQLException ex){
//                            System.out.println(ex.getMessage());
//                        }
//                    }
//                }     
//            }else if("SIDANG PROGRESS".equals(jenisSidang)){
//                
//                try{
//                    
//                    sql = "SELECT id_progress, ta_progress.id_ta, ta.id_user, ta.nama_lab, status_daftar_progress "
//                    + "FROM ta_progress, ta "
//                    + "WHERE ta.id_ta = ta_progress.id_ta and ta.status_ta = '1' "
//                    + "AND status_sidang_progress <> 'DITERIMA' AND status_sidang_progress <> 'SIDANG ULANG' AND status_sidang_progress <> 'TUGAS AKHIR DIBATALKAN' ";
//
//                    prepare = koneksi.prepareStatement(sql);
//                    result = prepare.executeQuery();
//
//                    while(result.next()){
//                        
//                        User user = new User();
//                        user.setIdUser(result.getString("id_user"));
//                        
//                        TA ta = new TA();
//                        ta.setUser(user);
//                        ta.setNamaLab(result.getString("nama_lab"));
//                        ta.setIdTA(result.getInt("id_ta"));
//                        
//                        Sidang sidang = new Sidang();
//                        sidang.setTa(ta);
//                        sidang.setIdSidang(result.getInt("id_progress"));
//                        sidang.setStatusDaftarSidang(result.getString("status_daftar_progress"));
//
//                        listPendaftar.add(sidang);
//                    }
//                    return listPendaftar;
//                    
//                }catch(SQLException ex){
//                    System.out.println(ex.getMessage());
//                    return listPendaftar;
//                }finally{
//                    if(prepare != null){
//                        try{
//                            prepare.close();
//                        }catch(SQLException ex){
//                            System.out.println(ex.getMessage());
//                        }
//                    }
//                    if(result != null){
//                        try{
//                            result.close();
//                        }catch(SQLException ex){
//                            System.out.println(ex.getMessage());
//                        }
//                    }
//                }  
//            }else{
//                try{  
//                    sql = "SELECT id_final, ta_final.id_ta, ta.id_user, ta.nama_lab, status_daftar_final "
//                    + "FROM ta, ta_final "
//                    + "WHERE ta.id_ta = ta_final.id_ta and ta.status_ta = '1' "
//                    + "AND status_sidang_final <> 'LULUS' AND status_sidang_final <> 'SIDANG ULANG' AND status_sidang_final <> 'TUGAS AKHIR DIBATALKAN' ";
//
//                    prepare = koneksi.prepareStatement(sql);
//                    result = prepare.executeQuery();
//
//                    while(result.next()){
//                        
//                        User user = new User();
//                        user.setIdUser(result.getString("id_user"));
//                        
//                        TA ta = new TA();
//                        ta.setUser(user);
//                        ta.setNamaLab(result.getString("nama_lab"));
//                        ta.setIdTA(result.getInt("id_ta"));
//                        
//                        Sidang sidang = new Sidang();
//                        sidang.setTa(ta);
//                        sidang.setIdSidang(result.getInt("id_final"));
//                        sidang.setStatusDaftarSidang(result.getString("status_daftar_final"));
//
//                        listPendaftar.add(sidang);
//                    }
//                   return listPendaftar; 
//                }catch(SQLException ex){
//                    System.out.println(ex.getMessage());
//                    return listPendaftar;
//                }finally{
//                    if(prepare != null){
//                        try{
//                            prepare.close();
//                        }catch(SQLException ex){
//                            System.out.println(ex.getMessage());
//                        }
//                    }
//                    if(result != null){
//                        try{
//                            result.close();
//                        }catch(SQLException ex){
//                            System.out.println(ex.getMessage());
//                        }
//                    }
//                } 
//            }
//    }
//    
//    public void persetujuanPendaftar(Sidang sidang){
//        
//        PreparedStatement prepare = null; 
//        String jenisSidang = sidang.getJenisSidang();
//        String sql = null;
//        
//        try{            
//
//            if("SIDANG PROPOSAL".equals(jenisSidang)){
//
//                sql = "update ta_proposal set status_daftar_proposal = ? where id_proposal = ? ";
//
//            }else if("SIDANG PROGRESS".equals(jenisSidang)){
//
//                sql = "update ta_progress set status_daftar_progress = ? where id_progress = ? ";
//
//            }else{
//
//                sql = "update ta_final set status_daftar_final = ? where id_final = ? ";
//
//            }
////          + "AND (proposal_status_sidang <> 'TUGAS AKHIR DIBATALKAN' AND progress_status_sidang <> 'TUGAS AKHIR DIBATALKAN' AND final_status_sidang <> 'TUGAS AKHIR DIBATALKAN')";
//
//            prepare = koneksi.prepareStatement(sql);
//
//            prepare.setString(1, sidang.getStatusDaftarSidang());
//            prepare.setInt(2, sidang.getIdSidang());
//
//            prepare.executeUpdate();
//
//        }catch(SQLException ex){
//            System.out.println(ex.getMessage());
//        }finally{
//            if(prepare != null){
//                try{
//                    prepare.close();
//                }catch(SQLException ex){
//
//                }
//            }
//        }
//    }
//    
//    public List<Sidang> RekapPendaftarFinal(TA ta, String periode){
//        
//        PreparedStatement prepare = null;
//        ResultSet result = null;
//        List<Sidang> rekapJadwalFinal = new ArrayList<Sidang>();
//        
//        
//        String lab = ta.getNamaLab();
//        String[] token = periode.split(",");
//        String periodeAwal = token[0];
//        String periodeAkhir = token[1];
//        
//        
//        
//        String sql = null;
//        try{
//            sql = "SELECT user.nama_user, ta.id_user, ta.judul, ta.pembimbing_1, ta.pembimbing_2, ta.pembimbing_luar, ta.nama_lab, final_tgl_sidang,  final_waktu_sidang, final_tempat_sidang, final_penguji1, final_penguji2 "
//                + "FROM ta_final, ta, user "
//                + "WHERE ta_final.status_daftar_final = 'OK' AND final_tgl_sidang is not null AND user.id_user = ta.id_user AND ta.id_ta = ta_final.id_ta AND ta.status_ta = '1' AND status_sidang_final = 'BELUM' "
//                + "AND ta.nama_lab = ? AND ta_final.final_tgl_sidang >= ? AND ta_final.final_tgl_sidang <= ? "
//                + "ORDER BY ta.id_user ";
//
//            /*kondisi cadangan
//                * 1. AND ta_proposal.status_sidang_proposal <> 'DITERIMA' 
//            */
//            prepare = koneksi.prepareStatement(sql);
//            
//            prepare.setString(1, lab);
//            prepare.setString(2, periodeAwal);
//            prepare.setString(3, periodeAkhir);
//            result = prepare.executeQuery();
//
//            while(result.next()){
//
//                this.user = new User();
//                user.setIdUser(result.getString("id_user"));
//                user.setNamaUser(result.getString("nama_user"));
//
//                this.ta = new TA();
//                ta.setUser(user);
//                ta.setJudul(result.getString("judul"));
//                ta.setNamaLab(result.getString("nama_lab"));
//                ta.setPembimbing1(result.getString("pembimbing_1"));
//                ta.setPembimbing2(result.getString("pembimbing_2"));
//                ta.setPembimbingLuar(result.getString("pembimbing_luar"));
//
//                Sidang sidangta = new Sidang();
//                sidangta.setTa(ta);
//                sidangta.setTglSidang(result.getString("final_tgl_sidang"));
//                sidangta.setWktSidang(result.getString("final_waktu_sidang"));
//                sidangta.setTempatSidang(result.getString("final_tempat_sidang"));
//                sidangta.setPenguji1(result.getString("final_penguji1"));
//                sidangta.setPenguji2(result.getString("final_penguji2"));
//                rekapJadwalFinal.add(sidangta);
//            }
//            return rekapJadwalFinal;
//
//        }catch(SQLException ex){          
//            System.out.println(ex.getMessage());
//            return rekapJadwalFinal;
//        }finally{
//            if(prepare != null){
//                try{
//                    prepare.close();
//                }catch(SQLException ex){
//                    System.out.println(ex.getMessage());
//                }
//            }
//            if(result != null){
//                try{
//                    result.close();
//                }catch(SQLException ex){
//                    System.out.println(ex.getMessage());
//                }
//            }
//        } 
//    }
//}
